


@init
ext_noinit = 1;
File = "!!!Test ReadFile"; // Set you file!

//----------------------------
function ReadFile(File)
  local(handle, str)
(
  handle = file_open(File);
  handle >= 0 ? (
    str = 0;
    while( file_string(handle, str) > 0) (
      str+=1;
    );
    file_close(handle);
  );
  str;
);  

//----------------------------
function PrintFile(scroll_start, filelen)
  local(str)
(
  gfx_x = gfx_texth; gfx_y = 10;
  str = scroll_start;
  loop(filelen - scroll_start, 
    gfx_y < gfx_h - gfx_texth ? gfx_drawstr(str);
    gfx_x = 40; gfx_y+=gfx_texth;
    str+=1; 
  );
);

//----------------------------
filelen = ReadFile(File);

@serialize
ser_cnt+=1;

function SerStrings(filelen)
  local(str)
( 
  str = 0;
  loop(filelen,
    file_string(0, str);
    str+=1;
  );
);

SerStrings(filelen);

@slider

@block


@gfx 800 550
gfx_set(0.6);
gfx_rect(0,0, gfx_w, gfx_h);
gfx_set(0.8);
gfx_rect(10,10, gfx_w-20, gfx_h-20);
gfx_set(0.1);
gfx_setfont(1,"Arial", 20);

//----------------------------
mouse_wheel ? (
  scroll_start -= sign(mouse_wheel) * 4;
  scroll_start = max(min(scroll_start,filelen-10), 0);
  mouse_wheel = 0;
);

//----------------------------
filelen ? PrintFile(scroll_start, filelen);

